package com.gjintel.framework.register.service;
import java.util.List;

import com.gjintel.framework.register.model.DepositCategory;
import com.gjintel.framework.register.model.RegisterCategory;
import com.gjintel.framework.register.model.RegisterUser;
import com.gjintel.framework.user.model.User;
import com.gjintel.framework.util.Rsp;
import com.gjintel.sdk.base.dao.Page;
import com.gjintel.sdk.base.service.IBaseService;
public interface IRegisterUserService extends IBaseService {
	
	/**
	 * @description 投标人注册
	 * @author shy
	 * @param loginUser
	 */
	String saveRegisterUser(RegisterUser loginUser);
	
	/**
	 * @description 根据投标人登陆名查询投标人信息
	 * @author shy
	 * @param loginName
	 */
	Rsp getRegisterUserByLoginName(String loginName,String pwd);
	
	/**
	 * @description 获取注册人列表
	 * @author shy
	 */
	List<RegisterUser> getRegisterList(Page page,RegisterUser registerUser,java.sql.Date startTime,java.sql.Date endTime);
	
	
	/**
	 * @description 查询
	 * @author shy 
	 *
	 */
	void searchList(Page page,String nameString ,String loginName,int flag);
	
	
	
	/**
	 * @description 审核注册人
	 * @author shy
	 */
	
	Rsp auditRegister(User user, String registerId, String reason, int auth_flag);
	
	/**
	 * @description 根据Id获取注册用户信息
	 * @author shy
	 */
	
	RegisterUser getRegisterById(String id);
	

	
	/**
	 * @description 根据ca名查询未认证或未认证成功的用户
	 * @author cxj
	 * @param caName
	 * @return void
	 * @return List<RegisterUser>
	 */
	List<RegisterUser> regcaLogin(String caName);
	
	/**
	 * @description 根据投标人登陆名查询投标人信息
	 * @author shy
	 * @param loginName
	 */
	 List<RegisterUser> findRegisterUserByLoginName(String loginName);
	 
	 /**
		 * @description 根据单位名查询投标人信息
		 * @author shy
		 */
	 List<RegisterUser> findRegisterUserByCompany(String company);
	 
	 
	 /**
	  * @description 禁止投标
	  * @author shy
	  */
	 String tenderforbid(User user,RegisterUser ruser);
	 
	 /**
	  * @description 恢复投标
	  * @author shy
	  */
	 String tenderRecover(User user,RegisterUser ruser);
	 
	 String setDepositCategory(String categories,String registerId);
	 
	 
	 /**
	  * @description 获取已有的保证金类型
	  * @author shy
	  */
      String getDepositCategory(String registerId);
      
      /**
 	  * @description 获取已有的保证金类型
 	  * @author shy
 	  */
       String getDepositCategoryName(String registerId);
       
     /**
   	 * @description 根据投标人登陆名查询投标人信息(除去已删除的)
   	 * @author shy
   	 * @param loginName
   	 */
       List<RegisterUser>  getLoginRegisterUserByLoginName(String loginName);
       
       /**
      	 * @description 保存投标人服务类型
      	 * @author shy
      	 * @param 
      	 */
       void saveCategory(String categories, String registerId);
       
       
       /**
     	 * @description  根据Id 获取保证金类型
     	 * @author shy
     	 * @param 
     	 */
       List<DepositCategory> getDepositCategoryById(String registerId);
       
       /**
    	 * @description  根据Id 获取投标人服务类型
    	 * @author shy
    	 * @param 
    	 */
      List<RegisterCategory> getRegisterCategoryById(String registerId);

       /**
        * @description 根据登录名获取投标人信息
        * @author shy
        */
      RegisterUser getRegisterByLoginname(String loginName);
      
      /**
       * @description 根据RegisterId 获取User信息
       * @author shy
       */
      User getUserByRegisterId(String registerId);

	/**
	 * 根据银行账号获取用户
	 * @param account
	 * @return
	 */
	List<RegisterUser>getSameAccountUser(String account);

	/**
	 * 根据银行账号获取用户
	 * @param account
	 * @return
	 */
	List<RegisterUser>getSameAccountUserExceptMyself(String account,String loginName);
}
